今天將接續上一篇來教各位如何利用 with open() as 來進行檔案處理。
這個函數相較於 open() 這個函數,特色在於不需要主動關閉檔案,而是在 with open() as 這個程式區塊執行結束後就會自行關閉檔案,藉以減少忘記關檔的可能性。
with open('ironman.txt', 'w') as file:
print(file.write('Share More Gain More')) #這裡用print是為了輸出回傳值
輸出結果
20 #輸出共寫入多少字元
檢驗檔案是否正確關閉
file.write('test')
輸出結果
#可以看到這裡寫入資料時,發生了檔案已被關閉的錯誤,表示檔案有被正確關閉
ValueError: I/O operation on closed file.
with open('ironman.txt', 'r') as file:
print(file.read())
輸出結果
Share More Gain More
檢驗檔案是否正確關閉
file.read()
輸出結果
#可以看到這裡讀取資料時,發生了檔案已被關閉的錯誤,表示檔案有被正確關閉
ValueError: I/O operation on closed file.
大家可以從範例中看到,使用 with open() as 這個函數,不僅程式碼更簡潔了,在檔案處理上也相對安全,所以推薦各位讀者盡量使用這個方法來進行檔案處理。
下一篇將教大家 Pandas 套件的使用。